/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Gestionequipo;
import gestionJugadores.*;
import gestionpistas.*;
import java.util.ArrayList;

/**
 *
 * @author Adrian
 */
public class GestorEquipo {
    
        public EquipoFundacionDB eqDB = new EquipoFundacionDB();
        ArrayList <EquipoFundacion> equipos;
        
        public ArrayList <EquipoFundacion> MostrarEquipoFundacion(String nombre){
            
            equipos = eqDB.getEquipoFundacion(nombre);
            
            return equipos;
            
        }
        
        public boolean InscribirJugadorEquipoFundacion(EquipoFundacion f, Jugador j){
            
            boolean confirmacion = eqDB.AsociarJugadorEquipoFundacion(j,f);
            
            return confirmacion;
            
        }
        
        public boolean ComprobarEquipoFundacion(String nombre, String entrenamiento,Pista p){
            
            if ((nombre == null) || (nombre.equals(""))){
                return false;
            }
            
            if ((entrenamiento == null) || (entrenamiento.equals(""))){
                return false;
            }
            
            if((p.getid_pistas())== null){
                        
                    return false;
            }
            
            if((p.getnombre()==null) || (p.getnombre().equals(""))){
            
                return false;
                
            }
            
            if((p.getlocalidad()==null) || (p.getlocalidad().equals(""))){
            
                return false;
                
            }
            if((p.getdireccion()==null) || (p.getdireccion().equals(""))){
            
                return false;
                
            }
            
            if((p.getalta()==null ) || p.getalta().equals(0)){
                
                return false;
                
            }
            
            return true;
            
        }
        

        public boolean IntroducirEquipoFundacion(String nombre, String entrenamiento, Pista p){
            
            
            boolean exito = ComprobarEquipoFundacion(nombre,entrenamiento,p);

            if(exito){
                
                EquipoFundacion e = new EquipoFundacion(null,nombre,entrenamiento,1);
                
                exito = eqDB.CrearEquipoFundacion(e,p);
            }
            
            return exito;
        }
    
        public boolean BorrarEquipoFundacion(Integer id){
            
            boolean confirmacion = eqDB.DarBajaEquipoFundacion(id);
            
            return confirmacion;
        }

        public boolean ActualizarEquipoFundacion(EquipoFundacion e, Pista p){
            
            
            boolean confirmacion = eqDB.setEquipoFundacion(e,p);
            
            return confirmacion;
                
                    
        }

        public ArrayList <EquipoFundacion> buscaEquipoLibre(String nombre){        
            
            equipos = eqDB.getEquiposLibres(nombre);
            
            return equipos;
            
        }

        public int altaEquipo(String nombre){
            
            int id = eqDB.crearEquipo(nombre);
            
            return id;
            
        }

        public boolean DarBajaEquipo(Integer idj, Integer ide){
            
            
            boolean confirmacion = eqDB.BajaJugadorEquipo(idj,ide);
            
            return confirmacion;
            
        }
        public boolean ComprobarDatosAsociarEntrenador (Integer idEn, Integer idEq){
            
               boolean confirmacion = eqDB.ComprobarDatosAsociarEntrenadorDB(idEn, idEq);

            return confirmacion;
        } 
        
        public boolean AsociarEntrenador(Integer idEn, Integer idEq){
            
                  boolean confirmacion = eqDB.AsociarEntrenadorDB(idEn, idEq);

                        
            return confirmacion;       
            
        }
        
        public boolean DesvincularEntrenador(Integer idEn, Integer idEq){
            
                  boolean confirmacion = eqDB.DesvincularEntrenadorDB(idEn, idEq);

                        
            return confirmacion;       
            
        }
        
       public ArrayList<Integer> ObtenerEntrenador(Integer idEq){
            
           ArrayList<Integer> ent;
                  ent = eqDB.ObtenerEntrenadorDB(idEq);
        
            return ent;       
            
        }
       /**
        * 
        * @param id_equipo : id del equipo que queremos buscar 
        * @return : devuelve un objeto de tipo equipo solo con el nombre relleno
        */
       public Equipo consultaEquipo(int id_equipo){
           
           EquipoDB eqDB=new EquipoDB();
           Equipo equipo=eqDB.getEquipo(id_equipo);
           
           return equipo;
       }
        
}
